package org.luckyjourney.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 问题记录
 * @TableName agent_questions_record
 */
@TableName(value ="agent_questions_record")
@Data
public class AgentQuestionsRecord implements Serializable {
    /**
     * 问题记录id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 模板名字
     */
    private String stencilName;

    /**
     * 模板id
     */
    private Long stencilId;

    /**
     * 模板名字类型
     */
    private String typeStencilName;

    /**
     * 智能体id
     */
    private Integer agentId;

    /**
     * 智能体问题
     */
    private String agentName;

    /**
     * 智能体答案
     */
    private String agentHint;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 客户id
     */
    private Long clienteleId;

    /**
     * 客户名称
     */
    private String clienteleName;

    /**
     * ai音频路径
     */
    @TableField("audio_path")
    private String audioPath;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * 问题记录id
     */
    public Long getId() {
        return id;
    }

    /**
     * 问题记录id
     */
    public void setId(Long id) {
        this.id = id;
    }

    /**
     * 模板名字
     */
    public String getStencilName() {
        return stencilName;
    }

    /**
     * 模板名字
     */
    public void setStencilName(String stencilName) {
        this.stencilName = stencilName;
    }

    /**
     * 模板id
     */
    public Long getStencilId() {
        return stencilId;
    }

    /**
     * 模板id
     */
    public void setStencilId(Long stencilId) {
        this.stencilId = stencilId;
    }

    /**
     * 模板名字类型
     */
    public String getTypeStencilName() {
        return typeStencilName;
    }

    /**
     * 模板名字类型
     */
    public void setTypeStencilName(String typeStencilName) {
        this.typeStencilName = typeStencilName;
    }

    /**
     * 智能体id
     */
    public Integer getAgentId() {
        return agentId;
    }

    /**
     * 智能体id
     */
    public void setAgentId(Integer agentId) {
        this.agentId = agentId;
    }

    /**
     * 智能体问题
     */
    public String getAgentName() {
        return agentName;
    }

    /**
     * 智能体问题
     */
    public void setAgentName(String agentName) {
        this.agentName = agentName;
    }

    /**
     * 智能体答案
     */
    public String getAgentHint() {
        return agentHint;
    }

    /**
     * 智能体答案
     */
    public void setAgentHint(String agentHint) {
        this.agentHint = agentHint;
    }

    /**
     * 创建时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 创建时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 客户id
     */
    public Long getClienteleId() {
        return clienteleId;
    }

    /**
     * 客户id
     */
    public void setClienteleId(Long clienteleId) {
        this.clienteleId = clienteleId;
    }

    /**
     * 客户名称
     */
    public String getClienteleName() {
        return clienteleName;
    }

    /**
     * 客户名称
     */
    public void setClienteleName(String clienteleName) {
        this.clienteleName = clienteleName;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        AgentQuestionsRecord other = (AgentQuestionsRecord) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getStencilName() == null ? other.getStencilName() == null : this.getStencilName().equals(other.getStencilName()))
            && (this.getStencilId() == null ? other.getStencilId() == null : this.getStencilId().equals(other.getStencilId()))
            && (this.getTypeStencilName() == null ? other.getTypeStencilName() == null : this.getTypeStencilName().equals(other.getTypeStencilName()))
            && (this.getAgentId() == null ? other.getAgentId() == null : this.getAgentId().equals(other.getAgentId()))
            && (this.getAgentName() == null ? other.getAgentName() == null : this.getAgentName().equals(other.getAgentName()))
            && (this.getAgentHint() == null ? other.getAgentHint() == null : this.getAgentHint().equals(other.getAgentHint()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getClienteleId() == null ? other.getClienteleId() == null : this.getClienteleId().equals(other.getClienteleId()))
            && (this.getClienteleName() == null ? other.getClienteleName() == null : this.getClienteleName().equals(other.getClienteleName()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getStencilName() == null) ? 0 : getStencilName().hashCode());
        result = prime * result + ((getStencilId() == null) ? 0 : getStencilId().hashCode());
        result = prime * result + ((getTypeStencilName() == null) ? 0 : getTypeStencilName().hashCode());
        result = prime * result + ((getAgentId() == null) ? 0 : getAgentId().hashCode());
        result = prime * result + ((getAgentName() == null) ? 0 : getAgentName().hashCode());
        result = prime * result + ((getAgentHint() == null) ? 0 : getAgentHint().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getClienteleId() == null) ? 0 : getClienteleId().hashCode());
        result = prime * result + ((getClienteleName() == null) ? 0 : getClienteleName().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", stencilName=").append(stencilName);
        sb.append(", stencilId=").append(stencilId);
        sb.append(", typeStencilName=").append(typeStencilName);
        sb.append(", agentId=").append(agentId);
        sb.append(", agentName=").append(agentName);
        sb.append(", agentHint=").append(agentHint);
        sb.append(", createTime=").append(createTime);
        sb.append(", clienteleId=").append(clienteleId);
        sb.append(", clienteleName=").append(clienteleName);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}